﻿// Decompiled with JetBrains decompiler
// Type: System.Web.Razor.Parser.SyntaxTree.SyntaxTreeNode
// Assembly: System.Web.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
// MVID: 682513D6-F37E-48AC-9909-F3EE103CFF14
// Assembly location: D:\Project\Idea\无人机外网\uav\客户端工程\排查工具\bin\Release\System.Web.Razor.dll

using System.Web.Razor.Text;

namespace System.Web.Razor.Parser.SyntaxTree
{
  /// <summary>This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Represents the node for the syntax tree.</summary>
  public abstract class SyntaxTreeNode
  {
    /// <summary>This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the parent tree node of the current tree node.</summary>
    /// <returns>The parent tree node of the current tree node.</returns>
    public Block Parent { get; internal set; }

    /// <summary>This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets a value that indicates whether the syntax tree node is a block-level object.</summary>
    /// <returns>true if the syntax tree node is a block-level object; otherwise, false.</returns>
    public abstract bool IsBlock { get; }

    /// <summary>This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the length of the syntax tree node.</summary>
    /// <returns>The length of the syntax tree node.</returns>
    public abstract int Length { get; }

    /// <summary>This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Gets the specific source location for the syntax tree node.</summary>
    /// <returns>The specific source location for the syntax tree node.</returns>
    public abstract SourceLocation Start { get; }

    /// <summary>This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Accepts the visitor of the tree node.</summary>
    /// <param name="visitor">The parser visitor.</param>
    public abstract void Accept(ParserVisitor visitor);

    /// <summary>This type/member supports the .NET Framework infrastructure and is not intended to be used directly from your code.Indicates whether the syntax tree node is equivalent to given node.</summary>
    /// <returns>true the syntax tree node is equivalent to given node; false.</returns>
    /// <param name="node">The given node.</param>
    public abstract bool EquivalentTo(SyntaxTreeNode node);
  }
}
